
#include<iostream>
#include<fstream>
// 在包含其他头文件前添加
#include"bundle.h"

// int main(int argc,char*argv[]){
//     if(argc!=3){
//         std::cout<<"argv[1]为要压缩的原文件名称"<< std::endl;
//         std::cout<<"argv[2]为压缩后的的文件名称";
//         return 0;
//     }
    
//     std::ifstream ifile(argv[1], std::fstream::binary);
//     ifile.seekg(0, std::ios::end);
//     int fsize=ifile.tellg();
//     ifile.seekg(0, std::ios::beg);
//     std::string body;
//     body.resize(fsize);
//     ifile.read(&body[0],fsize);//把数据读取到了body里面
    
//     std::string pack=bundle::pack(bundle::LZIP,body);
//     std::ofstream ofile(argv[2], std::fstream::binary);
//     ofile.write(&pack[0],pack.size());
//     ofile.close();
//     ifile.close();
//     return 0;
// }
int main(int argc,char* argv[])
{
    if(argc!=3){
        std::cout<<"argv[1]为压缩报的文件名称"<< std::endl;
        std::cout<<"argv[2]为解压缩后的的文件名称";
         return 0;
    }
    std::ifstream ifilename(argv[1],std::ios::binary);//打开压缩文件
    ifilename.seekg(0,std::fstream::end);
    int fsize=ifilename.tellg();
    ifilename.seekg(0,std::fstream::beg);
    std::string body;
    body.resize(fsize);
    ifilename.read(&body[0],fsize);
    ifilename.close();
    std::ofstream ofilename(argv[2],std::ios::binary);
    std::string unpack=bundle::unpack(body); 
    ofilename.write(&unpack[0],unpack.size());
    ofilename.close();
    return 0;
}